Voxel build

ABSTRACT

A computer-implemented method that allows users evaluate the densities of images and search for abnormalities in three-dimensional space. The voxel buildup uses a series of two-dimensional images and evaluates every pixel based on the user described predetermined threshold value at runtime. Once all the voxels are created, the user may manipulate the set of voxels as if they are one mesh.

REFERENCE TO RELATED APPLICATIONS

This application claims priority to Provisional Patent Application U.S. Ser. No. 62/774,960, entitled “Voxel Build” and filed on Dec. 4, 2018, which is fully incorporated herein by reference.

BACKGROUND AND SUMMARY

The invention relates to an image-generation method for two-dimensional images. In this context, a voxel is to be understood to mean a volume element in the three-dimensional examination zone and a pixel is an image element of the two-dimensional image. A voxel image value is assigned a numerical value that characterizes a physical quantity in the relevant voxel.

The state of the art systems typically require a time consuming and repetitive process before yielding results. The current disclosure solves this problem by using two-dimensional images loaded into a three-dimensional mesh generating program. The mesh generating program creates a three-dimensional mesh based on two-dimensional images input into the program and the user described predetermined threshold value. Once the mesh is generated, the user can load the mesh into virtual space for evaluation at runtime.

Under the current invention, users can easily see a set of correlated two-dimensional and three-dimensional images to evaluate their densities (bone density, for example) and search for abnormalities in three-dimensional space. The described invention takes in a series of two-dimensional images and evaluates every pixel based on the user described predetermined threshold value at runtime. If the program meets the user described predetermined thresholds, the pixel is flagged. Once every pixel is evaluated, the current disclosure reads the locations of the flagged pixels and maps them in three-dimensional space. For each location, a small mesh, or voxel, is created, which represents the flagged pixel. Once all the voxels are created, the user may manipulate the set of voxels as if they are one mesh.

BRIEF DESCRIPTION OF THE DRAWINGS

The features and advantages of the examples of the present invention described herein will become apparent to those skilled in the art by reference to the accompanying drawings.

FIG. 1 is a flow diagram depicting a system for mapping two-dimensional and three-dimensional images according to an exemplary embodiment of the present disclosure.

FIG. 2 is a flow diagram depicting a system for representing data in three-dimensional images, according to one embodiment of the present disclosure.

FIG. 3 is a flow diagram depicting the data importation and manipulation process performed by the software.

FIG. 4 is flow diagram depicting the creation of the voxel representing the series of images.

FIG. 5 depicts a display depicting a two-dimensional image and a three-dimensional image comprised of a plurality of voxels.

FIG. 6 depicts a display of a set of two-dimensional images and a correlating three-dimensional voxel mesh.

FIG. 7 is an exemplary display showing a single two-dimensional image and a corresponding three-dimensional voxel mesh.

FIG. 8 is an exemplary display showing a set of two-dimensional images and a corresponding three-dimensional voxel mesh.

DETAILED DESCRIPTION

In some embodiments of the present disclosure, the operator may use the described method to create a three-dimensional mesh from two-dimensional data. As used herein, the term “XR” is used to describe Virtual Reality, Augmented Reality, or Mixed Reality displays and associated software-based environments. As used herein, “mesh” is used to describe a three-dimensional object in a virtual world, including, but not limited to, systems, assemblies, subassemblies, cabling, piping, landscapes, avatars, molecules, proteins, ligands, or chemical compounds. As used herein, “voxel” is used to describe a value on a regular grid in three-dimensional space. The position of the voxel is determined by the software by the location of the pixels over a user-determined threshold.

FIG. 1 depicts a system 100 for supporting two-dimensional to three-dimensional spatial mapping (not shown), according to an exemplary embodiment of the present disclosure. The system 100 comprises an input device 110 communicating across a network 120 to a computer 130. The input device 110 may comprise, for example, a keyboard, a switch, a mouse, a joystick, a touch pad and/or other type of interface, which can be used to input data from a user (not shown) of the system 100. The network 120 may be a combination of hardware, software, or both. The system 100 further comprises XR hardware 140, which may be virtual or mixed reality hardware that can be used to visualize a three-dimensional world. The system 100 further comprises a video monitor 150 is used to display the three-dimensional data to the user. In operation of the system 100, the input device 110 receives input from the computer 130 and translates that input into an XR event or function call. The input device 110 allows a user to input data to the system 100, by translating user commands into computer commands.

FIG. 2 illustrates the relationship between three-dimensional assets, the data representing those assets, and the communication between that data and the software, which leads to the representation on the XR platform. Three dimensional assets 210 may be any three-dimensional assets, which are any set of points that define geometry in three-dimensional space. The data representing a three-dimensional world 220 is a three-dimensional mesh that may be generated by importing three dimensional models, images representing two-dimensional data, or other data converted into a three-dimensional format. The software for visualization 230 of the data representing a three-dimensional world 220 allows for the processor 130 (FIG. 1) to facilitate the visualization of the data representing a three-dimensional world 220 to be depicted as three-dimensional assets 210 in the XR display 240.

FIG. 3 depicts a method 300 for importing and analyzing data according to a threshold or range of values, in accordance with an exemplary embodiment of the present disclosure. In step 310, the user uploads a series of two-dimensional images to create a three-dimensional mesh. This can be done through a graphical user interface, copying the files into a designated folder, or another upload method. In step 320, the processor imports the two-dimensional images. In step 330, the software loops through the rows and columns of each two-dimensional image and evaluates each pixel and reads the color values of each pixel. In step 340, the software compares each individual pixel color value for the image against a specified threshold value. The threshold value can be user-defined or computer-generated. In step 350, the software saves and tracks the location of pixels with a color value above the specified threshold, or within a range of values. Pixels outside of the desired threshold are ignored, i.e., are not further tracked or displayed. The pixels may be saved in a variety of ways, such as: an array associated with a certain image, a text file, or other save methods.

FIG. 4 depicts a method 400 of creating the voxel representation of the uploaded series of images according to an exemplary embodiment of the present disclosure. Step 410 shows the method 300 (FIG. 3) in the context of pixel creation. The software receives each of the saved pixel locations 420. In step 430, the software evaluates the height value of a vector's location. Two-dimensional images only have locations on two planes. In this example, those directions are defined as “x” and “y,” but they can be any combination of planes in three-dimensional space. If the two-dimensional image does not supply the third value, in this example “z,” the software will determine the third value either by user-specified increments or computer-generated increments. If the two-dimensional image supplies its own third value, then the software uses it. For example, medical images provide the third value in their header files. If no height value is given, the software determines the appropriate height value, either by user-defined increments or a default increment.

In step 440, the software spawns a voxel mesh at the three-dimensional location. In this example, the software does this by adding an instance to a hierarchical instanced mesh at the location provided. Once the spawning is complete, the voxel buildup (a three-dimensional model) is ready to be viewed and examined. The user may manipulate the set of voxels as if they are one mesh.

Viewing the to-scale three-dimensional model that is the result of the method 400 enables the user to examine the data with more dimension, allowing the user to see things they may have missed when viewing the data in only two dimensions.

FIG. 5 depicts a display 500 as viewed by a user, the display 500 depicting a two-dimensional image 510 and a corresponding three-dimensional voxel mesh 520 comprised of a plurality of voxels 530. The white areas 515 of two-dimensional image 510 (which is an image of a human pelvis, in this example) is comprised of pixels (not shown). The three-dimensional voxel mesh 520 corresponds with the two-dimensional image 510. In this regard, each pixel in image 510 has a corresponding voxel 530 in the three-dimensional mesh 520. Although the voxels 530 are depicted in FIG. 5 as squares, they are actually cubes (i.e., three-dimensional).

Color gradations (not shown) in the two-dimensional image 510 indicate how dense the bone tissue depicted in the example is. Each voxel 530 is a single uniform colored three-dimensional cube, and together the voxels 530 form the mesh 520. The user can rotate the mesh 520 to further examine the three-dimensional image.

FIG. 6 depicts a display 600 according to an embodiment of the present disclosure, in which a user has uploaded a set 640 of two-dimensional images 610. Using the methods disclosed herein, a three-dimensional voxel mesh 620 is formed from the set 640 of two-dimensional images 610.

FIG. 7 depicts an exemplary display 700 as viewed by a user, the display 700 depicting a two-dimensional image 710 and a corresponding three-dimensional voxel mesh 720 comprised of a plurality of voxels 730. The three-dimensional voxel mesh 720 corresponds with the two-dimensional image 710. In this regard, each pixel in image 710 has a corresponding voxel 730 in the three-dimensional mesh 720. Although the voxels 730 are depicted in FIG. 7 as squares, they are actually cubes (i.e., three-dimensional).

FIG. 8 depicts a display 800 according to an embodiment of the present disclosure, in which a user has uploaded a set 840 of two-dimensional images 810. Using the methods disclosed herein, a three-dimensional voxel mesh 820 is formed from the set 840 of two-dimensional images 810. 

What is claimed is:
 1. A method for creation of three-dimensional mesh capable of evaluation and manipulation, comprising: uploading one or more two-dimensional images, the two-dimensional images comprising pixels; evaluating the pixels based on a user-described predetermined threshold values at runtime; flagging pixels that meet the user-described predetermined threshold values; saving locations of the flagged pixels; and mapping the flagged pixels in three-dimensional space.
 2. The method of claim 1, wherein the step of evaluating pixels based on user-described predetermined threshold value at runtime comprises looping through rows and columns of the image and obtaining the color values for each pixel.
 3. The method of claim 2, wherein the step of evaluating pixels based on user-described predetermined threshold value at runtime further comprises comparing each pixel's color against the predetermined threshold values.
 4. The method of claim 3, wherein the predetermined threshold color is user-defined.
 5. The method of claim 3, wherein the predetermined threshold color is determined by a processor.
 6. The method of claim 3, wherein the step of evaluating pixels based on user-described predetermined threshold values at runtime further comprises saving the location of pixels with a color value above the predetermined threshold.
 7. The method of claim 3, wherein the predetermined threshold values comprise a range of values, and the evaluation of the pixels determines whether each pixel is within the range.
 8. The method of claim 6, wherein the step of saving the location of pixels with a color value above the predetermined threshold comprises saving the pixels in an array associated with an image.
 9. The method of claim 6, wherein the step of saving the location of pixels with a color value above the predetermined threshold comprises saving the pixels in a text file.
 10. The method of claim 6, further comprising determining a height value associated with each pixel to define a vector location.
 11. The method of claim 10, further comprising spawning a voxel mesh at a three dimensional location, and displaying the voxel mesh on a display.
 12. The method of claim 11, wherein each voxel of the mesh correlates with a pixel of the two-dimensional image.
 13. The method of claim 12, wherein the one or more two-dimensional images comprises a set of two-dimensional images which is displayed on the display along with a three-dimensional voxel mesh representing the set. 